home *** CD-ROM | disk | FTP | other *** search
/ Mastering Computers 3 / Mastering Computers Vol 3.iso / Win95 / Fun&Utils / MFCMSG.EXE / MAINFRM.CPP < prev    next >
Encoding:
C/C++ Source or Header  |  1995-07-01  |  2.2 KB  |  101 lines

  1. #include "stdafx.h"
  2. #include "cmdlearn.h"
  3. #include "mainfrm.h"
  4. #include "doc.h"
  5. #include "dlgcombo.h"
  6. #include "appdocs.h"
  7.  
  8. IMPLEMENT_DYNAMIC(CMainFrame, CMDIFrameWnd)
  9. IMPLEMENT_DYNCREATE(CFileMDIChildWnd, CMDIChildWnd)
  10.  
  11. BEGIN_MESSAGE_MAP(CMainFrame, CMDIFrameWnd)
  12.    //{{AFX_MSG_MAP(CMainFrame)
  13.    ON_WM_CREATE()
  14.    ON_WM_TIMER()
  15.    ON_WM_CLOSE()
  16.    ON_COMMAND(ID_VIEW_COMBO_DIALOG, OnViewComboDialog)
  17.    //}}AFX_MSG_MAP
  18. END_MESSAGE_MAP()
  19.  
  20. static UINT BASED_CODE buttons[] = {
  21.    ID_FILE_OPEN, ID_SEPARATOR, ID_APP_ABOUT,
  22. };
  23.  
  24. static UINT BASED_CODE indicators[] =
  25. {
  26.    ID_SEPARATOR,           // status line indicator
  27.    ID_INDICATOR_CAPS,
  28.    ID_INDICATOR_NUM,
  29.    ID_INDICATOR_SCRL,
  30. };
  31.  
  32. CMainFrame::CMainFrame()
  33. {
  34. }
  35.  
  36. CMainFrame::~CMainFrame()
  37. {
  38. }
  39.  
  40. int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
  41. {
  42.    if (TMDIFrameWnd::OnCreate(lpCreateStruct) == -1)
  43.       return -1;
  44.  
  45.    if (!m_wndToolBar.Create(this) ||
  46.       !m_wndToolBar.LoadBitmap(IDR_MAINFRAME) ||
  47.       !m_wndToolBar.SetButtons(buttons,
  48.         sizeof(buttons)/sizeof(UINT)))
  49.    {
  50.       TRACE("Failed to create toolbar\n");
  51.       return -1;      // fail to create
  52.    }
  53.  
  54.    if (!m_wndStatusBar.Create(this) ||
  55.       !m_wndStatusBar.SetIndicators(indicators,
  56.         sizeof(indicators)/sizeof(UINT)))
  57.    {
  58.       TRACE("Failed to create status bar\n");
  59.       return -1;      // fail to create
  60.    }
  61.  
  62.    // Create a timer to tick every half second
  63.    //
  64.    int nIDEvent = SetTimer(ID_UPDATE_STATUS, 500, NULL);
  65.    ASSERT(nIDEvent==ID_UPDATE_STATUS);
  66.  
  67.    return 0;
  68. }
  69.  
  70. //////////////////
  71. // Got timer click: pass to docs
  72. //
  73. void CMainFrame::OnTimer(UINT nIDEvent)
  74. {
  75.    if (nIDEvent == ID_UPDATE_STATUS) 
  76.    {
  77.       CAppDocs alldocs;    // see appdocs.h
  78.       alldocs.SendCommand(ID_UPDATE_STATUS);
  79.    }
  80. }
  81.  
  82. //////////////////
  83. // Window is closing: Kill the timer.
  84. // Not strictly necessary, since Windows will kill it for us.
  85. //
  86. void CMainFrame::OnClose()
  87. {
  88.    KillTimer(ID_UPDATE_STATUS);
  89.    TMDIFrameWnd::OnClose();
  90. }
  91.  
  92. //////////////////
  93. // Run the "combo combo" dialog.
  94. //
  95. void CMainFrame::OnViewComboDialog() 
  96. {
  97.    CComboDialog dlg(this);
  98.    dlg.DoModal();
  99. }
  100.  
  101.